Field of the Invention
This invention relates to storage systems, and more particularly to dynamically controlling a temporary compromise on data redundancy in a storage system.
Description of the Related Art
When servicing write requests, storage systems may use data redundancy techniques when writing to backend storage devices. In one embodiment, the storage devices of a storage system may be configured in a redundant array of independent drives (RAID) arrangement for data storage and protection. For example, when writing client data blocks, a first number ‘N’ of data pieces may be written together with a second number ‘M’ of redundant data, such as parity, pieces across ‘N+M’ storage devices. In this way, a loss of M or fewer pieces of data can be overcome.
To ensure that a write request is not prematurely reported as successful, the storage system typically acknowledges the write request no sooner than all pieces of data and parity are successfully persisted. However, this approach may unnecessarily inhibit the performance of the storage system. In some cases, while waiting for all data and parity blocks to be written, the storage system may be prevented from performing other tasks, resulting in increased latency.